package com.dubbo.service.business.address;

import com.dubbo.domain.Address;
import com.dubbo.service.base.BaseService;

import java.util.Map;

/**
 * 收货地址
 * @author Administrator
 * @date 2018年12月17日 下午4:46:24
 */
public interface AddressService extends BaseService<Address> {

	/**
	 * 显示收货地址
	 * 
	 * @author gujiahua
	 * 2018年12月17日 下午4:46:33
	 * @param userId
	 * @param pageTotal 
	 * @param pageStart 
	 * @return
	 */
	Map<String, Object> displayAddress(String userId, Long pageStart, Long pageTotal);
	
	/**
	 * 新增收货地址
	 * 
	 * @author gujiahua
	 * 2018年12月17日 下午4:46:44
	 * @param userId
	 * @param addressJson 
	 * @return
	 */
	Map<String, Object> addAddress(String userId, String addressJson);
	
	/**
	 * 修改收货地址
	 * 
	 * @author gujiahua
	 * 2018年12月17日 下午4:46:53
	 * @param address
	 * @return
	 */
	Map<String, Object> updateAddress(String userId, String addressJson);
	
	/**
	 * 修改默认地址
	 * 
	 * @author gujiahua
	 * 2018年12月17日 下午5:32:06
	 * @param userId
	 * @param addressJson
	 * @return
	 */
	Map<String, Object> updateDefaultaddress(String userId, String addressJson);
	
	/**
	 * 删除收货地址
	 * 
	 * @author gujiahua
	 * 2018年12月17日 下午4:47:08
	 * @param id
	 * @return
	 */
	Map<String, Object> deleteAddress(String id);
	
	/**
	 * 字段验证
	 * 
	 * @author gujiahua
	 * 2018年12月17日 下午4:47:17
	 * @param address
	 * @return
	 */
	Map<String, Object> Verification(Address address);
	
	/**
	 * 获取用户的默认地址
	 * 
	 * @author gujiahua
	 * 2018年12月17日 下午4:47:25
	 * @param userId
	 * @return
	 */
	Map<String, Object> getOneDefaultaddress(String userId);

	/**
	 * 获取修改地址详情
	 * @author wujunyuan
	 * @date 2018年12月28日  下午5:28:50
	 * @param id 修改地址原id
	 * @return
	 */
	Map<String, Object> getUpdateDefaultAddress(String addressId);
	
}
